
const http=require('http');
const fs=require('fs');
const url = require('url');
const router = require('./libs/router')
const zlib=require('zlib')
const user=require('./routers/users')

http.createServer((req,res)=>{
    let {pathname,query}=url.parse(req.url,true);
    req.query=query;

    res.send=function(data){
        // a=>array
        // a=>json
        if(!(data instanceof Buffer)&&typeof data!='string'){
            data=JSON.stringify(data)
        }
        res.write(data)
    }

    // 1.是不是一个接口
    if(router.emit(pathname,req,res)==false){   //不是接口
        // 2.读取文件
        let rs=fs.createReadStream(`www${pathname}`)
        let gz=zlib.createGzip(rs)
        res.setHeader('Content-Encoding','gzip')
        res.pipe(gz).pipe(rs)
        res.on('error',err=>{
            res.writeHead(404)
            res.write('not found')
            res.end()
        })

        // 3.读取失败
    }else{                                      //是接口
        // res.end()
    }
    


}).listen(8080)